/**
 * Copyright (C) 2018-2021
 * All rights reserved, Designed By www.yixiang.co

 */
package co.yixiang.print;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author ：LionCity
 * @date ：Created in 2020-05-11 11:01
 * @description：门店销售数据
 * @modified By：
 * @version: V1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PrintStoreOrderVO implements Serializable {
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    @ApiModelProperty(value = "结束时间")
    private String endTime;
    @ApiModelProperty(value = "打印机编号")
    private String driverNo;
    @ApiModelProperty(value = "门店列表")
    private Integer storeId;
    @ApiModelProperty(hidden = true)
    Long startSecond;
    @ApiModelProperty(hidden = true)
    Long endSecond;

    public static PrintStoreOrderVOBuilder builder() {
        return new PrintStoreOrderVOBuilder();
    }

    public static class PrintStoreOrderVOBuilder {
        private String startTime;
        private String endTime;
        private String driverNo;
        private Integer storeId;
        private Long startSecond;
        private Long endSecond;

        PrintStoreOrderVOBuilder() {
        }

        public PrintStoreOrderVOBuilder startTime(String startTime) {
            this.startTime = startTime;
            return this;
        }

        public PrintStoreOrderVOBuilder endTime(String endTime) {
            this.endTime = endTime;
            return this;
        }

        public PrintStoreOrderVOBuilder driverNo(String driverNo) {
            this.driverNo = driverNo;
            return this;
        }

        public PrintStoreOrderVOBuilder storeId(Integer storeId) {
            this.storeId = storeId;
            return this;
        }

        public PrintStoreOrderVOBuilder startSecond(Long startSecond) {
            this.startSecond = startSecond;
            return this;
        }

        public PrintStoreOrderVOBuilder endSecond(Long endSecond) {
            this.endSecond = endSecond;
            return this;
        }

        public PrintStoreOrderVO build() {
            return new PrintStoreOrderVO(startTime, endTime, driverNo, storeId, startSecond, endSecond);
        }

        public String toString() {
            return "PrintStoreOrderVO.PrintStoreOrderVOBuilder(startTime=" + this.startTime + ", endTime=" + this.endTime + ", driverNo=" + this.driverNo + ", storeId=" + this.storeId + ", startSecond=" + this.startSecond + ", endSecond=" + this.endSecond + ")";
        }
    }
}
